<?
class abmLibroConAutor{
	 private $directorio = "E:/Sitios/V_GIISCO/publicaciones/libroConAutor/";
	 
function getDirectorio(){
	return $this->directorio;
}	 

/*DEveulve los autores de un determinado libro (clave de libro idPublicacion)*/
function darAutores($idPublicacion){
	$objAutor = new sineditorautor();
	$arreglo = $objAutor->darListasineditorautor($idPublicacion);

	for ($i=0; $i<count($arreglo); $i++){
		$objPersona = new persona();
		
		$idPersona =$arreglo[$i]->getidpersona();
	//	echo $idPersona;
		$objPersona->selpersona($idPersona);
		
		$datos[$i] = $objPersona;
 
 	}
	//print_object($datos);
	return $datos;
	

}

function nuevoLibro($datos){
	$base = new BaseDatos;
 	 $base -> Iniciar();
	$ROLL =true;
	if( $base -> IniciarTransaccion()){
			$objPublic = new publicaciones();
			$objPublic->puttitulo($datos->titulo);
			$objPublic->putanio($datos->anio);
			$objPublic->putabstract($datos->abstract);
			$objPublic->putpalabraclave($datos->palabraclave);
			$objPublic->putcantpagina($datos->cantpagina);
			$objPublic->putidProyecto($datos->idProyecto);
			if($datos->idArchivo<>"")
				$objPublic->putidarchivo($datos->idArchivo);
			else
				$objPublic->putidarchivo('null');
			$objPublic -> putbase($base);
			$idPublilcacion = $objPublic->insertarObjeto();
			if($idPublilcacion<>false){
				$objLibro = new libro();
				$objLibro ->inicializarObjeto($idPublilcacion,$datos->volumen,$datos->issbn10,$datos->issbn13,$datos->ideditorial);
				$objLibro -> putbase($base);
				$res = $objLibro ->insertarObjeto();
				if($res<>false){
					$objSinEditor = new sineditor();
					$objSinEditor ->putidpublicaciones($idPublilcacion);
					$objSinEditor -> putbase($base);
					$res = $objSinEditor ->insertarObjeto();
					if($res<>false){
						if ($base ->CommitTransaccion()){
								$ROLL = false;
								//echo "COMITTTT :)";
								//echo "retorna idPublicacion".$idPublilcacion;
								return $idPublilcacion;
						}
					
					}else echo "error al insertar el libro ";
				}else echo "error al insertar en libro";
			}else echo "error al insertar el publicacion";
 	}
	if($ROLL){
	//	echo "ROLLLLL  :)";
		$base ->RollbackTransaccion();
		return false;
	}
 }

 function nuevoAutor($datos){
 	$objAutor = new sineditorautor();
	$objAutor ->putidpublicaciones($datos->idPublicacion);
	$objAutor ->putidpersona($datos->idpersona);
 return $objAutor ->insertarObjeto();
 }

function darLibrosSinEditor(){
	$objLibSinEditor = new sineditor();
	$datos = $objLibSinEditor ->darListasineditor();
	//print_object($datos);
	return $datos;
}
//guarda el archivo q contiene la publicacion
function GuardarPublicacion($origen,$funcJs){
			// esto es lo q debe haber en $origen $archivoSub = $_FILES['UParchivo']['name'];
			$objarchivo = new archivos();
			$objarchivo->putdirectorio($this->getDirectorio());
			$objarchivo->putdescripcion(" Publicacion: libroSinEditor");
			$objarchivo->putnombrearchivo($_FILES[$origen]['name']);
			$idarch = $objarchivo->insertarObjeto();
			//echo " El id del archivo retornada es:  ".$idarch ;
			//print_object($objarchivo);
			if ($idarch == false){
				return false;
			}else{
				//subir el archivo 
				subirArchivoServidor($origen,$idarch,$this->getDirectorio(),$funcJs);
				return true;		
			}
}
// agrega una nueva linea de investigacion a la tesis
function nuevaLineaConAutor($datos){
	$objLineaTesis  = new abmPublicaciones();
	return $objLineaTesis ->nuevaLineaPublicacion($datos->idPubl,$datos->idLineaInvestigacion);

}


}
?>